package main

import (
	"fmt"
	"reflect"
)

type User1 struct {
	Age  int
	Name string
}

func main() {
	user1 := User1{18, "小王"}

	//得到对象的指针
	value := reflect.ValueOf(&user1)
	//如果value是一个指针的话
	if value.Kind() == reflect.Ptr {
		newValue := value.Elem() //得到指针的值
		if newValue.CanSet() {
			newValue.FieldByName("Name").SetString("小城")
		}
	}
	fmt.Println(user1)
}
